d851ecdab3f654cb28a535f70f23211b45473d9f,python/src/com/jetbrains/python/codeInsight/PyCodeBlockProvider.java,PyCodeBlockProvider,getCodeBlockRange,#Editor#PsiFile#,20
Before Change
if (caretOffset == statement.getTextRange().getStartOffset()) {
final PyStatement statementAbove = PsiTreeUtil.getParentOfType(statement, PyStatement.class);
if (statementAbove != null) {
return new TextRange(statementAbove.getTextRange().getStartOffset(), statement.getTextRange().getEndOffset());
}
}
return statement.getTextRange();
After Change
if (statement != null) {
// if we're in the beginning of the statement already, pressing Ctrl-[ again should move the caret one statement higher
final int statementStart = statement.getTextRange().getStartOffset();
int statementEnd = statement.getTextRange().getEndOffset();
while (statementEnd > statementStart && psiFile.findElementAt(statementEnd) instanceof PsiWhiteSpace) {
statementEnd--;
}
if (caretOffset == statementStart || caretOffset == statementEnd) {